SQLite 您所在的位置:网站首页 嵌入式 开源库是什么东西 SQLite

SQLite

2024-07-14 05:05| 来源: 网络整理| 查看: 265

快速跳转文章列表:SQLite—系列文章目录

 下一篇:SQLiteC/C++接口简介

引言:

SQLite是一种嵌入式关系型数据库管理系统,以轻量级、小型、快速、可靠性和易于使用而著称。它是一个完全开源的软件库,它允许在应用程序内部创建一个本地的SQL数据库文件,用以存储和管理数据。SQLite 并不是一个数据库服务器,它只是一个嵌入了 SQL 引擎的数据库。SQLite不需要独立的安装,主要由一个C程序库组成,可以直接导入到其他编程语言中使用。 SQLite在语法上与其他大型数据库系统如MySQL或Oracle相似,支持SQL标准的大多数功能,包括事务、触发器和存储过程等。它被广泛应用于移动应用程序以及桌面和嵌入式设备中。编写不易,有用的朋友点个赞或加粉一下万分感谢!300名内回关!

一、简介

也许您还不信这个数据库有那么广泛部署码?来自官方的资料:

每台 Android 设备每台 iPhone 和 iOS 设备每台 Mac每台 Windows10 计算机每个 Firefox、Chrome 和 Safari 网络浏览器Skype 的每个实例iTunes的每个实例每个 Dropbox 客户端每个 TurboTax 和 QuickBooksPHP 和 Python大多数电视机和机顶盒大多数汽车多媒体系统数以百万计的其他应用程序

由于SQLite在每部智能手机中都广泛使用,并且有 超过 40 亿  部智能手机在活跃使用,每部 数以百计的 SQLite数据库文件,似乎可能超过一万亿  正在使用的SQLite数据库。你认为还有部署更多的数据库欢迎留言讨论。笔者愿意倾听您的说法。 

SQLite最初由D. Richard Hipp在1999年发布。Hipp是一个独立开发者,他在Fossil源代码管理系统中使用SQLite数据库引擎。SQLite由Hipp和其他一些贡献者共同维护和开发,目前由SQLite软件基金会管理。SQLite软件基金会是一个非营利组织,旨在推广SQLite的使用和维护其开源代码库。尽管Hipp仍然是SQLite的核心开发人员之一,但他并不是SQLite软件基金会的成员。

        SQLite 是一个嵌入式 SQL 数据库引擎。 与大多数其他 SQL 数据库不同,SQLite 没有单独的 服务器进程。SQLite直接读取和写入普通磁盘 文件。一个完整的 SQL 数据库,包含多个表、索引、 触发器和视图包含在单个磁盘文件中。 数据库文件格式是跨平台的 - 您可以自由复制数据库 在 32 位和 64 位系统之间或 big-endian 和 little-endian 体系结构之间。这些功能使 SQLite 成为受欢迎的选择,因为应用程序文件格式。SQLite 数据库文件是美国国会图书馆推荐的存储格式。 不要把SQLite看作是Oracle的替代品,而更像是作为fopen()的代品。

        SQLite 是一个紧凑的库。 启用所有功能后,库大小可以小于 750KiB, 取决于目标平台和编译器优化设置。 (64 位代码较大。以及一些编译器优化 例如激进的功能内联和循环展开会导致 目标代码要大得多。 内存使用量和速度之间存在权衡。 SQLite通常运行得越快,内存越多 你给它。尽管如此,性能通常也相当不错 在低内存环境中。根据其使用方式,SQLite 可能比直接文件系统 I/O 更快。

        SQLite在每次之前都经过非常仔细的测试 发布,并以非常可靠而闻名。 大多数 SQLite 源代码纯粹用于测试和 验证。自动化测试套件运行数以百万计的 涉及数亿个单个 SQL 语句的测试用例 并实现100%的分支测试覆盖率。 SQLite 对内存的正常响应 分配失败和磁盘 I/O 错误。即使因系统崩溃或电源故障而中断,事务也是 ACID。 所有这些都得到了验证 使用特殊测试工具进行自动化测试,模拟 系统故障。 当然,即使进行了所有这些测试,仍然存在错误。 但与一些类似的项目(尤其是商业竞争对手)不同 SQLite对所有错误都是开放和诚实的,并提供错误列表和 代码更改的每分钟年表。

        SQLite代码库由一个国际开发团队提供支持,他们全职致力于 SQLite。 开发人员继续扩展SQLite的功能 并提高其可靠性和性能,同时保持向后兼容已发布的接口规范、SQL 语法和数据库文件格式。 源代码对任何想要它的人都是完全免费的, 但也提供专业支持。

        SQLite项目于2000-05-09启动。 开发维护人员的目标将在 2050 年之前支持 SQLite。

二、SQLite的特点

1. 轻量级:SQLite体积非常小,核心库只有几百千字节,非常适合在小型嵌入式设备上使用。

2. 无服务器:SQLite不需要单独的服务器进程或守护程序,只需要使用API来进行访问。

3. 文件式数据库:SQLite将整个数据库存储在单个文件中,这种文件式的数据库管理方式,非常适合桌面应用程序、移动设备等小型应用程序。

4. 支持大部分标准SQL语法:SQLite支持大部分标准SQL语法及常见的RDBMS特性,如事务、触发器、存储过程等。

5. 高效性:SQLite具有快速的执行速度和高效的资源利用能力,可以处理海量数据。

6、SQLite是开源数据库,任何人都可以免费使用和获得源码。

三、SQLite的使用场景

1. 桌面软件

SQLite非常适合于小型桌面应用程序的开发。随着现代浏览器的强大,HTML5应用程序中,可以使用SQLite取代传统的本地存储方式,如Localstorage。

2. 移动应用

SQLite是移动应用程序中的主要数据库之一,包括许多大型应用程序,如Facebook、Instagram和Pinterest等都使用了SQLite作为移动端的本地数据库。

3. 嵌入式系统

SQLite也适用于各种类型的嵌入式设备,包括家电、小型电脑、路由器、监控系统等嵌入式设备,使用SQLite可以实现对设备数据的可靠存储。

4. 网络应用程序

在Web应用程序中,SQLite可以作为后端数据库服务器的替代品,可以代替MySQL、Oracle或PostgreSQL等大型数据库,特别是对于一些轻量级的Web应用程序,SQLite可以提供更加高效和轻量级的解决方案。

参考文献:

1. sqlite官方文档



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有